import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'

axios.defaults.baseURL = 'http://127.0.0.1';

// 路径以指定的字符串的请求
let loginUrl = ["/user/realName/"];
// 精确路径
let loginUrl2 = [];

//请求拦截器，加入token
axios.interceptors.request.use(function(config){

    //判断需要token的访问服务器地址，加入token
    //console.log( "axios.interceptors.request url="+config.url);

    let flag = false; // 发送的请求不需要登录
    // 两次for循环
    for (let url of loginUrl) {
        if (config.url.startsWith(url)) {
            flag = true;
            break;
        }
    }

    if (!flag) {
        for (let url of loginUrl2) {
            if (config.url == url) {
                flag = true;
                break;
            }
        }
    }

    // 结果
    let loginUser = sessionStorage.getItem("loginUser");
    if (flag && loginUser == null) {
        location.href = "/login";
        return false; // 取消ajax请求
    }

    // 将用户 id 和 token 添加到请求头中，不管是否需要登录(只要有)
    if (loginUser) {
        let user = JSON.parse(loginUser);
        config.headers['uid'] = user.id;
        config.headers['token'] = sessionStorage.getItem("token");
        console.log("11111111111111111")
    }

    return config;
})

// then函数执行之前
axios.interceptors.response.use(function (resp) {
    if (resp.data.code == "666") {
        location.href = "/login";
        return ;
    }
    return resp;
})

Vue.use(VueAxios, axios)